/**
 * 有序数组的平方
 * TODO: 可以再看看其他的解法
 * @param {number[]} nums
 * @return {number[]}
 */
var sortedSquares = function (nums) {
  let l = 0
  let r = nums.length - 1
  let i = r
  let rslt = new Array(nums.length)
  while (i >= 0) {
    let lv = nums[l] * nums[l]
    let rv = nums[r] * nums[r]
    if (lv <= rv) {
      rslt[i--] = rv
      r--
    } else {
      rslt[i--] = lv
      l++
    }
  }
  return rslt
};

let input = [-4]
console.log(sortedSquares(input))

//================v1要点总结===============
/**
 * 1. 双指针，借助更多的空间换时间
 */
